
#pragma once

namespace ReloadUdpCall
{
	class WildcardElement
	{
	public:
		WildcardElement();
		virtual ~WildcardElement();
	};

	class SizeT_WildcardElement : public WildcardElement
	{
	public:
		SizeT_WildcardElement();
		virtual ~SizeT_WildcardElement();

		std::size_t value;
	};

	class InvokeStatus
	{
	public:
		InvokeStatus();
		InvokeStatus(int _status, boost::shared_ptr<WildcardElement> _param = boost::shared_ptr<WildcardElement>());

		operator int() const;

		int status_;
		boost::shared_ptr<WildcardElement> param_;
	};

	retT onError(retT errorNo);

	retT onInfo(retT infoNo);
}
